성공하는 프로그래밍 공부법 - 박재성, 고종범, 남재창, 박지현

성공하는 프로그래밍 공부법

  • 프로그래밍을 공부하다가 어느 순간부터 정체 된다는 느낌 받았다. 성장에 대한 갈증으로 항상 목말라 있는 상태에서 성장이 정체 된다는건 정말 뼈아픈 일이다. 최근 스터디에 참여하고 우아한 테크코스 프리코스를 진행하면서부터는 성장에 대한 갈증이 해소되고 있다. 주어지는 미션을 해결해 나가면서 내가 부족한 부분이 어떤 부분이었는지 여실히 알게 됐고, 그에 따라 어느 부분을 채워야할지도 비교적 명확해졌기 때문이다.
  • 우아한 테크코스 1주차 미션을 진행하던 중 지인에게 이 책을 추천받았다. 우아한 테크코스 프리코스의 1주차 미션을 진행하면서 이 교육과정에 대한 신뢰가 생겼고 그 교육과정을 만들어나가는 박재성님이 제시하는 프로그래밍 공부법이 궁금해졌다. 그래서 이 책을 구매해서 읽게 됐다.

👊 동의되지 않는 권위에 굴복되지 않기 (박재성님)

내가 권위에 집착하는 이유는 기존의 권위에 도전하고 의심을 하는 행동이 프로그래밍 학습에 도움 되기 때문이다.

  • 동의되지 않는 권위에 굴복되지 않는다는 것은 프로그래머에게 필요한 부분이라고 생각한다. 실제로 내가 프로그래밍을 배운 방법은 그동안 권위적인 학습 방법과는 다른 학습 방법이었다. 이전 다른 분야(수능, 자격증 등)를 공부할 때는 책, 강의를 통해 수동적으로 지식을 습득하는 방식이었다. 반면 프로그래밍을 학습할 때는 스스로 주도적으로 무언가를 찾아서 배우고, 물어보고, 만들어보는 방식이었다.

프로그래밍을 배울 때의 자신감은 초반에 반짝 상승했다가 이후 상당히 오랫동안 떨어진다. 이 같이 떨어진 자신감을 회복하고 프로그래밍에 대한 즐거움을 느끼기까지 상당히 오랜 기간을 투자해야 한다.

  • 나 역시 처음 프로그래밍을 시작하고 터미널에 ls, cd, grep같은 명령어를 사용할 때는 금방이라도 멋진 프로그래머가 돼서 세상을 바꿀 프로그램들을 뚝딱뚝딱 만들어낼줄 알았다. 하지만 맛보기 수준의 프로그래밍이 끝나고 내가 생각했던 소프트웨어를 만들려고 했을 때 눈 앞이 깜깜해졌다. 이내 정체되는 느낌을 받고 절망적인 생각도 많이 들었다. 하루 몇시간을 컴퓨터 앞에 앉아 코딩을 해도 즐거웠지만 며칠 내내 붙잡고 있던 문제가 전혀 해결되지 않을 때는 코딩도 하기 싫고 이 일이 적성에 맞나하는 고민까지 했다.
  • 하지만 그런 순간도 어느새 지나갔다. 지금은 다시 프로그래밍의 재미에 푹 빠져 시간가는줄도 모르고 코딩에 집중하고는 한다. 그 순간을 극복하기까지 오랜 시간이 걸렸기에 위와 같은 저자의 말에 깊이 공감됐다. 한참 깊은 절망의 늪에 빠졌을 때 이 책을 읽었더라면 어땠을까 하는 아쉬움이 남지만 뒤늦게나마 책을 통해 당시의 내 상황과 지금의 내 상황을 돌아볼 수 있게 돼서 다행이다.
  • 앞으로도 프로그래밍을 하면서 벽을 만나 좌절할 때도 있을 것이다. 이 책을 나침반 삼아 슬럼프에 빠지지 않고 긍정적인 방향으로 가기 위해 노력해야겠다.

🏃 학습은 애자일(기민)하게 해야 한다 (고종범님)

불확실성이 높을 때 빠르게 시도하고, 빠르게 실패하고, 실패에서 배우고 개선하여 다시 도전한다.

  • 블랙커피 스터디에 참여하면서 단편적으로나마 애자일 방법론을 접하게 됐다. 목표를 세분화하고, 주기적으로 회고를 가지면서 경험을 나누는 이 방법은 나에게 정말 큰 인사이트를 가져다줬다.
  • 저자는 자신의 학습경험을 토대로 애자일하게 학습하는 방법에 대해 알려준다. 특히 목표를 설정하고 관리하는 법에 대한 여러가지 방법들에 대해 알려준다. 목표를 어떻게 세워야 하는지, 그 목표들을 어떻게 관리하면 좋을지에 대한 좋은 정보들이 가득 담겨있다.

반드시 되돌아보는 시간이 필요하다.

  • 스터디에 참여하면서 주기적으로 하게 된 회고는 정말 긍정적이었다. 지난 한 주간, 지난 한 달간 스터디를 통해 어떤 것들을 배웠는지 다시 확인할 수 있었고 내가 잘 했던 부분, 내가 잘 못 했던 부분에 대해서도 다시 한번 생각해볼 수 있는 좋은 기회였다.
  • 하지만 스터디에서 회고를 통한 긍정적인 경험을 했음에도 스스로를 회고하는데는 인색했던것 같다. 블로그에 매일 TIL을 적으면서 날마다 회고를 진행하고 있지만 앞으로는 1주, 1달, 1년 간격으로도 지난 시간을 되돌아보며 회고해야겠다는 목표를 세웠다.

🖥 코딩: 소통의 통로 (남재창님)

소프트웨어가 존재하는 이유는 사람들이 컴퓨터의 능력을 더욱 쉽게 활용하기 위해 즉 컴퓨터와 더 잘 소통하기 위해 존재한다고 이야기할 수 있다.

  • 지금껏 코딩을 하나의 ‘기술’이라고 생각했다. 더 좋은 코드로 더 좋은 소프트웨어를 만드는 일종의 기술로만 코딩을 생각했다. 그러나 저자의 글을 읽고 생각이 바뀌었다. 코딩을 한다는건 결국 컴퓨터와 소통하는 것이다. 0과 1로 이루어진 기계어로 작동되는 컴퓨터와 소통하기 위한 수단이 코딩이고 그렇기 때문에 상대방을 더 이해한다면 코딩을 더 잘할 수 있다.
  • 지금 공부하고 있는 Javascript도 브라우저 엔진 혹은 node엔진과 소통하는 수단이고 내가 브라우저 엔진을 더 이해한다면 보다 나은 코드를 작성할 수 있을것이라는 생각을 하게 됐다.

코딩의 왕도: 다독, 다작하기

  • 저자는 코딩의 왕도 두가지로 다독, 다작을 뽑았다. 이런 면에서 보면 글쓰기와 코딩은 참 닮아있는거 같다. 글쓰기도 소통을 위한 것이고 코딩도 소통을 위한 것이다. 또한 두 가지 모두 다독, 다작만큼 좋은 방법을 찾기 힘든 것 또한 닮아있다.
  • 컴퓨터와 더 잘 소통하기 위해 다른 사람의 코드를 많이 보고 내 코드를 많이 작성해야겠다.

👨‍💻 프로그래밍이 필수 교양이라고 말하는 시대 (박지현님)

지금 우리가 누리고 있는 디지털 일상을 누구나 코딩으로 자동화, 개인화하는 단계로 나아갈 것이라고 본다.

  • 프로그래밍 열풍이 분지도 벌써 몇년이 지났다. 세계는 이미 프로그래밍으로 빠르게 변화하고 있고 앞으로 더 빠르게 변할 것이라는 저자의 의견에 깊이 공감한다.
  • 앞선 저자들과는 조금 다르게 이번 저자는 교양으로서의 프로그래밍 공부를 어떻게 시작하고 어떻게 발전해나가면 좋을지에 중점을 두고 설명하고 있다.

모두가 프로그래머가 될 필요는 없다. 현 시대를 살아가는 데 필요한 디지털 문해력은 갖추되, 이 도구로 무엇을 담을 것인가가 사실은 더 중요하다.


📝 마치며

  • 4명의 저자 분들이 각자 프로그래밍 공부법에 대한 생각에 대해 쓴 글을 하나로 모은 책이다. 책 전반에서 의식적 노력이라는 단어가 자주 등장하고 있다. 얼마 전 읽었던 “1만 시간 법칙의 재발견”이라는 책에서도 항상 강조하는 내용이었다. 프로그래밍 학습에 있어 의식적인 노력을 어떻게 적용해야 될지 다시 한번 생각해 볼 수 있어서 좋았다.
  • 저자 네 분의 글을 읽는 것도 정말 좋았지만 저자 분들의 글 사이에 있는 인터뷰 글도 정말 재밌게 읽었다.

    Q. 프로그래밍에서 가장 중요한 것 세 가지만 꼽는다면 무엇이 있을까요?

    A. 조건문, 반복문, 입출력문

  • 다른 인터뷰이들이 장문으로 대답한 것과 달리 짤막한 대답에 부분을 읽을 때는 잠깐 웃음이 나왔다. 하지만 다시 생각해보니 정말 이 세 가지가 가장 중요하다는 말에 공감할 수 있었다.
  • 인터뷰를 통해 현재 업계에서 활약하고 계신 분들이 어떻게 프로그래밍을 시작했고 공부했으며 지금까지 성장해왔는지에 대한 애기를 들을 수 있어서 좋았다. 그리고 내 눈에는 한없이 대단해보이는 그들 역시 나처럼 무너지고 좌절했던 때가 있었다는걸 보면서 나 역시 계속 꾸준히 정진해 그 분들과 같은 위치까지 올라가고 싶다는 생각도 했다.
  • 은총알은 없다 이 책이 프로그래밍 공부에 대한 왕도를 제시한다거나 엄청난 비밀을 알려주는 책은 아니다. 하지만 프로그래밍 학습에 고민이 있는 사람들에게는 정말 적극적으로 추천해주고 싶은 책이기도 하다.
  • 아직은 프로그래머라고 불리기에 많이 부족한 실력을 가지고 있다. 하지만 나도 꾸준히 정진해서 책의 저자들처럼 내 경험을 나누고 나와 같은 고민을 겪고 있는 사람들에게 도움을 주고싶다.

Hits


Written by@yujo
📝 배우고 느낀 점을 기록하고 공유하는 블로그

GitHub